package com.justgame.project.service.art.mapper;

import com.justgame.project.service.api.dto.ArtPageInfoDTO;
import com.justgame.project.service.api.entity.ArtPageInfo;
import com.justgame.project.cloud.common.entity.PageRequest;
import com.justgame.project.service.api.vo.ArtPageInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.lang.Nullable;

import java.util.List;

@Mapper
public interface ArtPageInfoMapper {

    /**
     * 新增一条数据
     * @param dto 数据
     * @return int
     */
    int insertOne(@Param("dto") ArtPageInfoDTO dto);

    /**
     * 条件查询
     * @param artPageInfo 查询条件
     * @return List.class
     */
    List<ArtPageInfoVO> select(@Param("page") @Nullable ArtPageInfo artPageInfo);

    /**
     * 首页展示文章
     * @param dto 传入参数
     * @return List.class
     */
    List<ArtPageInfoVO> selectIndexList(@Param("dto") ArtPageInfoDTO dto);

    List<ArtPageInfo> selectByPage(@Param("page") PageRequest pageRequest);

    boolean deleteById(@Param("id") String id );

    /**
     * 通过id更新文章信息
     * @param dto
     * @return
     */
    boolean updateById(@Param("dto") ArtPageInfoDTO dto);
}
